home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / include / sprite.h < prev    next >
C/C++ Source or Header  |  1992-11-25  |  2KB  |  100 lines

  1. /*
  2.  * sprite.h --
  3.  *
  4.  * Common constants and type declarations for Sprite.
  5.  *
  6.  * Copyright 1985, 1988 Regents of the University of California
  7.  * Permission to use, copy, modify, and distribute this
  8.  * software and its documentation for any purpose and without
  9.  * fee is hereby granted, provided that the above copyright
  10.  * notice appear in all copies.  The University of California
  11.  * makes no representations about the suitability of this
  12.  * software for any purpose.  It is provided "as is" without
  13.  * express or implied warranty.
  14.  *
  15.  * $Header: /sprite/src/lib/include/RCS/sprite.h,v 1.11 92/11/25 13:22:02 jhh Exp $ SPRITE (Berkeley)
  16.  */
  17.  
  18. #ifndef _SPRITE
  19. #define _SPRITE
  20.  
  21. #include "cfuncproto.h"
  22. /*
  23.  * A boolean type is defined as an integer, not an enum. This allows a
  24.  * boolean argument to be an expression that isn't strictly 0 or 1 valued.
  25.  */
  26.  
  27. #ifndef TRUE
  28. #define TRUE    1
  29. #endif
  30. #ifndef FALSE
  31. #define FALSE    0
  32. #endif
  33.  
  34. #ifndef _ASM
  35. typedef int Boolean;
  36.  
  37. /*
  38.  * Functions that must return a status can return a ReturnStatus to
  39.  * indicate success or type of failure.
  40.  */
  41.  
  42. typedef int  ReturnStatus;
  43. #endif /* _ASM */
  44.  
  45. /*
  46.  * The following statuses overlap with the first 2 generic statuses 
  47.  * defined in status.h:
  48.  *
  49.  * SUCCESS            There was no error.
  50.  * FAILURE            There was a general error.
  51.  */
  52.  
  53. #define    SUCCESS            0x00000000
  54. #define    FAILURE            0x00000001
  55.  
  56.  
  57. /*
  58.  * A nil pointer must be something that will cause an exception if 
  59.  * referenced.  There are two nils: the kernels nil and the nil used
  60.  * by user processes.
  61.  */
  62.  
  63. #define NIL         0xFFFFFFFF
  64. #define USER_NIL     0
  65. #ifndef NULL
  66. #define NULL         0
  67. #endif
  68.  
  69. #ifndef _ASM
  70. /*
  71.  * An address is just a pointer in C.  It is defined as a character pointer
  72.  * so that address arithmetic will work properly, a byte at a time.
  73.  */
  74.  
  75. typedef char *Address;
  76.  
  77. /*
  78.  * ClientData is an uninterpreted word.  It is defined as an int so that
  79.  * kdbx will not interpret client data as a string.  Unlike an "Address",
  80.  * client data will generally not be used in arithmetic.
  81.  */
  82.  
  83. #ifndef _CLIENTDATA
  84. typedef int *ClientData;
  85. #define _CLIENTDATA
  86. #endif
  87.  
  88. #ifndef __STDC__
  89. #ifndef mips
  90. #define volatile
  91. #endif
  92. #define const
  93. #endif
  94.  
  95. extern void panic();
  96.  
  97. #endif /* !_ASM */
  98.  
  99. #endif /* _SPRITE */
  100.